package com.ruoyi.screeningDate.controller;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.firefighter.domain.Roleo;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.education.domain.EducationInfo;
import com.ruoyi.education.service.IEducationInfoService;
import com.ruoyi.emergency.domain.FirefighterEmergency;
import com.ruoyi.emergency.service.IFirefighterEmergencyService;
import com.ruoyi.enlistIand.domain.IfmEnlistIand;
import com.ruoyi.enlistIand.service.IIfmEnlistIandService;
import com.ruoyi.fireRescueRank.domain.IfmFireRescueRank;
import com.ruoyi.fireRescueRank.service.IIfmFireRescueRankService;
import com.ruoyi.firefighter.domain.FirefighterInfo;
import com.ruoyi.firefighter.service.IFirefighterInfoService;
import com.ruoyi.firefighterFire.domain.FirefighterFire;
import com.ruoyi.firefighterFire.service.IFirefighterFireService;
import com.ruoyi.firefighterTrainingTable.domain.FirefighterTrainingTable;
import com.ruoyi.firefighterTrainingTable.service.IFirefighterTrainingTableService;

import com.ruoyi.health.domain.HealthStatus;
import com.ruoyi.health.service.IHealthStatusService;
import com.ruoyi.ifmAge.domain.IfmAge;
import com.ruoyi.ifmAge.service.IIfmAgeService;
import com.ruoyi.ifmEnlistIand.domain.FirefighterFireTable;
import com.ruoyi.ifmEnlistIand.service.IFirefighterFireTableService;
import com.ruoyi.ifmEnlistIand.service.ISysDeptService;
import com.ruoyi.ifmPost.domain.IfmPost;
import com.ruoyi.ifmPost.service.IIfmPostService;
import com.ruoyi.ifmReward.domain.IfmReward;
import com.ruoyi.ifmReward.service.IIfmRewardService;
import com.ruoyi.job.domain.JobInfo;
import com.ruoyi.job.service.IJobInfoService;
import com.ruoyi.political.domain.PoliticalInfo;
import com.ruoyi.political.service.IPoliticalInfoService;
import com.ruoyi.qualification.domain.FirefighterQualification;
import com.ruoyi.qualification.service.IFirefighterQualificationService;
import com.ruoyi.screeningDate.domain.*;
import com.ruoyi.screeningDate.service.MorescreeningdateService;
import com.ruoyi.security.domain.FirefighterSecurity;
import com.ruoyi.security.service.IFirefighterSecurityService;
import com.ruoyi.subject.domain.FirefighterSubject;
import com.ruoyi.subject.service.IFirefighterSubjectService;
import com.ruoyi.unit.domain.UnitInfo;
import com.ruoyi.unit.service.IUnitInfoService;
import com.ruoyi.workYear.domain.IfmWorkYear;
import com.ruoyi.workYear.service.IIfmWorkYearService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.remoting.RemoteTimeoutException;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
import static com.ruoyi.common.core.domain.AjaxResult.error;
import static com.ruoyi.common.core.domain.AjaxResult.success;


@Anonymous
@RestController
@RequestMapping("/morescreeningdate/morescreeningdate")
public class MorescreeningDateController {
    @Autowired
    private IFirefighterInfoService firefighterInfoService;
    @Autowired
    private MorescreeningdateService morescreeningdateService;
    @Autowired
    private IFirefighterEmergencyService firefighterEmergencyService;
    @Autowired
    private IFirefighterSecurityService iFirefighterSecurityService;
    @Autowired
    private IIfmEnlistIandService iIfmEnlistIandService;
    @Autowired
    private IIfmPostService iIfmPostService;
    @Autowired
    private IIfmRewardService iIfmRewardService;
    @Autowired
    private IPoliticalInfoService iPoliticalInfoService;
    @Autowired
    private IEducationInfoService educationInfoService;
    @Autowired
    private IIfmAgeService iIfmAgeService;
    @Autowired
    private IIfmWorkYearService iIfmWorkYearService;
    @Autowired
    private IUnitInfoService unitInfoService;
    @Autowired
    private IJobInfoService jobInfoService;
    @Autowired
    private IHealthStatusService healthStatusService;
    @Autowired
    private IIfmFireRescueRankService iIfmFireRescueRankService;
    @Autowired
    private IFirefighterFireService iFirefighterFireService;
    @Autowired
    private IFirefighterSubjectService iFirefighterSubjectService;
    @Autowired
    private IFirefighterTrainingTableService firefighterTrainingTableService;
    @Autowired
    private IFirefighterFireTableService firefighterFireTableService;
    @Autowired
    private IFirefighterFireService firefighterFireService;
    @Autowired
    private ISysDeptService iSysDeptService;
    @Autowired
    private IFirefighterQualificationService firefighterQualificationService;
    @Autowired
    private ISysDeptService sysDeptService;

    /**
     * 后端根据架构查询当前部职别及其子集架构
     *
     *
     *
     */
    @GetMapping("/GetzUnit")
    public AjaxResult GetzUnit( @RequestParam String deptId1){
        if(deptId1==null){
            throw new  RemoteTimeoutException("值不能为空");
        }
        Long deptId =  Long.parseLong(deptId1);

        List<SysDept> sysDepts= sysDeptService.selectDeptListbyAncestors(deptId);
            HashSet<Integer> result = new HashSet<>();
            for (SysDept sysDept : sysDepts) {
                result.add(sysDept.getDeptId().intValue());
                String ancestors = sysDept.getAncestors();
                String[] parts = ancestors.split(",");
                boolean startFound = false;
                for (String part : parts) {
                    if (startFound) {
                        result.add(Integer.parseInt(part));
                    } else if (part.equals(deptId.toString())) {
                        startFound = true;
                    }
                }
            }
        Integer deptIdInt = deptId != null ? deptId.intValue() : 0;
            result.add(deptIdInt);
            ArrayList<Integer> a1 = new ArrayList<>();
            for (Integer integer : result) {
                a1.add(integer);
            }
            List<SysDept> sysDeptslist=  sysDeptService.selectListbyb(a1);
        FirefighterInfo firefighterInfo = new FirefighterInfo();
        List<FirefighterInfo> list = firefighterInfoService.selectFirefighterInfoList(firefighterInfo);
            ArrayList<FirefighterInfo> moreFilterAS = new ArrayList<>();
            for (SysDept dept : sysDeptslist) {
                for (FirefighterInfo filterA : list) {
                    if (dept.getDeptName().equals(filterA.getUnit())) {
                        moreFilterAS.add(filterA);
                    }
                }
            }
        return success(moreFilterAS);
    }

    /**
     * 部門列表
     *
     *
     *
     */
    @GetMapping("/dept")
    public AjaxResult analysisGraphicsT( ){
        List<SysDept> sysDepts = iSysDeptService.selectDeptList(new SysDept());
        return success(sysDepts);
    }
    /**
     * 分析图体能
     *
     *
     */
    @PostMapping("/analysisGraphicsT")
    public AjaxResult analysisGraphicsT( @RequestBody Dcdate dateList){

        //定义返回数组
        String[] stringArray = new String[12];
        if (dateList.getId()!=null && dateList.getLabel()!=null){
            Map<String, String> trainingProgramMap = new HashMap<>();
            String str = dateList.getLabel();
            if (str.equals("100米跑")) {
                trainingProgramMap.put("100米跑","c2.training_program4");
            } else if (str.equals("5000米跑")) {
                trainingProgramMap.put("5000米跑", "c2.training_program5");
            } else if (str.equals("游泳")) {
                trainingProgramMap.put("游泳", "c2.training_program7");
            } else if (str.equals("5x25折返跑")) {
                trainingProgramMap.put("5x25折返跑", "c2.training_program6");
            } else if (str.equals("单杠卷身上")) {
                trainingProgramMap.put("单杠卷身上", "c2.training_program");
            } else if (str.equals("双杠臂屈伸")) {
                trainingProgramMap.put("双杠臂屈伸", "c2.training_program1");
            } else if (str.equals("百米负重跑")) {
                trainingProgramMap.put("百米负重跑", "c2.training_program8");
            } else if (str.equals("负重登10楼")) {
                trainingProgramMap.put("负重登10楼", "c2.training_program9");
            } else if (str.equals("400米救人疏散物资")) {
                trainingProgramMap.put("400米救人疏散物资", "c2.training_program10");
            } else if (str.equals("爬绳上四楼")) {
                trainingProgramMap.put("爬绳上四楼", "c2.training_program11");
            } else if (str.equals("百米消防障碍")) {
                trainingProgramMap.put("百米消防障碍", "c2.training_program12");
            } else if (str.equals("60米肩梯")) {
                trainingProgramMap.put("60米肩梯", "c2.training_program13");
            } else if (str.equals("搬运重物折返跑")) {
                trainingProgramMap.put("搬运重物折返跑", "c2.training_program14");
            }else if (str.equals("负重深蹲")) {
                trainingProgramMap.put("负重深蹲", "c2.training_program2");
            } else if (str.equals("爬杆")) {
                trainingProgramMap.put("爬杆", "c2.training_program3");
            }
            for (Map.Entry<String, String> entry : trainingProgramMap.entrySet()) {
                String key = entry.getKey();
                String value = entry.getValue();
                System.out.println("键: " + key + ", 值: " + value);
            }
          List<FirefighterTrainingTable > performanceTS = null;
            for (Map.Entry<String, String> entry : trainingProgramMap.entrySet()) {
                Performance performance = new Performance();
                performance.setOa(entry.getValue());
                performance.setId(dateList.getId());
              performanceTS = firefighterTrainingTableService.selectByNameAndId(performance);
            }
            if (performanceTS.size()<=0&&performanceTS==null){
                return error("NOK");
            }
            for (FirefighterTrainingTable table : performanceTS) {
                table.setEntryDate(table.getEntryDate().split("-")[1]);
            }
            Map<List<Object>, FirefighterTrainingTable> map = performanceTS.stream()
                    .collect(Collectors.toMap(
                            pm -> Arrays.asList(pm.getEntryDate()), // keyMapper，生成map的键
                            Function.identity(), // valueMapper，生成map的值
                            (existing, replacement) -> existing // mergeFunction，处理键冲突时保留哪个值
                    ));
            ArrayList<FirefighterTrainingTable> uniquePerformanceMS = new ArrayList<>(map.values());
            for (FirefighterTrainingTable m : uniquePerformanceMS) {
               if ( m.getEntryDate().equals("01")){
                   if (m.getTrainingProgram()==null){
                       stringArray[0]= "0 | 0分";
                   }else {
                       stringArray[0]=m.getTrainingProgram();
                   }
               }else if( m.getEntryDate().equals("02")){
                   if (m.getTrainingProgram()==null){
                       stringArray[1]= "0 | 0分";
                   }else {
                       stringArray[1]=m.getTrainingProgram();
                   }
               }else if( m.getEntryDate().equals("03")){
                   if (m.getTrainingProgram()==null){
                       stringArray[2]= "0 | 0分";
                   }else {
                       stringArray[2]=m.getTrainingProgram();
                   }
               }else if( m.getEntryDate().equals("04")){
                   if (m.getTrainingProgram()==null){
                       stringArray[3]= "0 | 0分";
                   }else {
                       stringArray[3]=m.getTrainingProgram();
                   }
               }else if( m.getEntryDate().equals("05")){
                   if (m.getTrainingProgram() == null){
                       stringArray[4]= "0 | 0分";
                   }else {
                       stringArray[4]=m.getTrainingProgram();
                   }
               }else if( m.getEntryDate().equals("06")){
                   if (m.getTrainingProgram()==null){
                       stringArray[5]= "0 | 0分";
                   }else {
                       stringArray[5]=m.getTrainingProgram();
                   }
               }else if( m.getEntryDate().equals("07")){
                   if (m.getTrainingProgram()==null){
                       stringArray[6]= "0 | 0分";
                   }else {
                       stringArray[6]=m.getTrainingProgram();
                   }
               }else if( m.getEntryDate().equals("08")){
                   if (m.getTrainingProgram()==null){
                       stringArray[7]= "0 | 0分";
                   }else {
                       stringArray[7]=m.getTrainingProgram();
                   }
               }else if( m.getEntryDate().equals("09")){
                   if (m.getTrainingProgram()==null){
                       stringArray[8]= "0 | 0分";
                   }else {
                       stringArray[8]=m.getTrainingProgram();
                   }
               }else if( m.getEntryDate().equals("10")){
                   if (m.getTrainingProgram()==null){
                       stringArray[9]= "0 | 0分";
                   }else {
                       stringArray[9]=m.getTrainingProgram();
                   }
               }else if( m.getEntryDate().equals("11")){
                   if (m.getTrainingProgram()==null){
                       stringArray[10]= "0 | 0分";
                   }else {
                       stringArray[10]=m.getTrainingProgram();
                   }
               }else if( m.getEntryDate().equals("12")){
                   if (m.getTrainingProgram()==null){
                       stringArray[11]= "0 | 0分";
                   }else {
                       stringArray[11]=m.getTrainingProgram();
                   }
               }
            }
            for (int i = 0; i < stringArray.length; i++) {
                if (stringArray[i] == null) {
                    stringArray[i] = "0 | 0分";
                }
            }
            String[] stringArray1 = new String[12];
            for (int i = 0; i < stringArray.length; i++) {
                System.out.println(stringArray[i]);
                String[] split = stringArray[i].split("\\| ");
                String[] split1 = split[1].split("分");
                System.out.println(split[1]+"split");
                System.out.println(split1[0]+"split1");
                stringArray1[i] = split1[0];
            }
            return success("OK", stringArray1);
        }
        return error("NOK");
    }

    /**
     * 分析图灭火
     *
     * @param
     * @2024-11-5
     */
    @PostMapping("/analysisGraphicsM")
    public AjaxResult analysisGraphicsM( @RequestBody Dcdate dateList){

        //定义返回数组
        String[] stringArray = new String[12];
        if (dateList.getId()!=null && dateList.getLabel()!=null){
            Map<String, String> trainingProgramMap = new HashMap<>();
            String str = dateList.getLabel();
            if (str.equals("单一人三盘水带连接")) {
                trainingProgramMap.put("单一人三盘水带连接", "c2.fire_program");
            } else if (str.equals("沿拉梯铺设水带")) {
                trainingProgramMap.put("沿拉梯铺设水带", "c2.fire_program1");
            } else if (str.equals("垂直铺设水带")) {
                trainingProgramMap.put("垂直铺设水带", "c2.fire_program2");
            } else if (str.equals("狭小空间铺设水带")) {
                trainingProgramMap.put("狭小空间铺设水带", "c2.fire_program3");
            } else if (str.equals("吸水管连接")) {
                trainingProgramMap.put("射水技术", "c2.fire_program4");
            } else if (str.equals("射水技术")) {
                trainingProgramMap.put("射水技术", "c2.fire_program5");
            } else if (str.equals("攀登挂钩梯上四楼")) {
                trainingProgramMap.put("攀登挂钩梯上四楼", "c2.fire_program6");
            } else if (str.equals("攀登单杠梯")) {
                trainingProgramMap.put("攀登单杠梯", "c2.fire_program7");
            } else if (str.equals("两人五盘水带连接")) {
                trainingProgramMap.put("两人五盘水带连接", "c2.fire_program8");
            } else if (str.equals("干线水带更换")) {
                trainingProgramMap.put("干线水带更换", "c2.fire_program9");
            } else if (str.equals("楼层吊升水带")) {
                trainingProgramMap.put("楼层吊升水带", "c2.fire_program10");
            } else if (str.equals("水带登高伸长")) {
                trainingProgramMap.put("水带登高伸长", "c2.fire_program11");
            } else if (str.equals("垂直更换水带")) {
                trainingProgramMap.put("垂直更换水带", "c2.fire_program12");
            } else if (str.equals("水枪前延长水带")) {
                trainingProgramMap.put("水枪前延长水带", "c2.fire_program13");
            }  else if (str.equals("分水器前延长水带")) {
                trainingProgramMap.put("分水器前延长水带", "c2.fire_program14");
            }else if (str.equals("三盘水带连接")) {
                trainingProgramMap.put("三盘水带连接", "c2.fire_program15");
            }else if (str.equals("纵深灭火操")) {
                trainingProgramMap.put("纵深灭火操", "c2.fire_program16");
            }else if (str.equals("车辆驾驶")) {
                trainingProgramMap.put("车辆驾驶", "c2.fire_program17");
            }else if (str.equals("地下有限空间救援操")) {
                trainingProgramMap.put("地下有限空间救援操", "c2.fire_program18");
            }else if (str.equals("百米障碍救助操")) {
                trainingProgramMap.put("百米障碍救助操", "c2.fire_program19");
            }else if (str.equals("信息综合查询操")) {
                trainingProgramMap.put("信息综合查询操", "c2.fire_program20");
            }else if (str.equals("拉梯与钩梯联用操")) {
                trainingProgramMap.put("拉梯与钩梯联用操", "c2.fire_program21");
            }else if (str.equals("车辆操作")) {
                trainingProgramMap.put("车辆操作", "c2.fire_program22");
            }else if (str.equals("十五米拉梯架设操")) {
                trainingProgramMap.put("十五米拉梯架设操", "c2.fire_program23");
            }else if (str.equals("枪炮协同操")) {
                trainingProgramMap.put("枪炮协同操", "c2.fire_program24");
            }else if (str.equals("片图绘制")) {
                trainingProgramMap.put("片图绘制", "c2.fire_program25");
            }else if (str.equals("60米肩梯架设操")) {
                trainingProgramMap.put("60米肩梯架设操", "c2.fire_program26");
            }else if (str.equals("绳结制作操")) {
                trainingProgramMap.put("绳结制作操", "c2.fire_program27");
            }else if (str.equals("三盘水带连接操")) {
                trainingProgramMap.put("三盘水带连接操", "c2.fire_program28");
            }else if (str.equals("楼层火灾内攻操")) {
                trainingProgramMap.put("楼层火灾内攻操", "c2.fire_program29");
            }else if (str.equals("挂钩提上四楼")) {
                trainingProgramMap.put("挂钩提上四楼", "c2.fire_program30");
            }else if (str.equals("车辆引导")) {
                trainingProgramMap.put("车辆引导", "c2.fire_program31");
            }else if (str.equals("无人机侦察操")) {
                trainingProgramMap.put("无人机侦察操", "c2.fire_program32");
            }else if (str.equals("地下有限空间救人操")) {
                trainingProgramMap.put("地下有限空间救人操", "c2.fire_program33");
            }else if (str.equals("车载炮出水")) {
                trainingProgramMap.put("车载炮出水", "c2.fire_program34");
            }else if (str.equals("四节吸水管连接操")) {
                trainingProgramMap.put("四节吸水管连接操", "c2.fire_program35");
            }else if (str.equals("顶撑救援操")) {
                trainingProgramMap.put("顶撑救援操", "c2.fire_program36");
            }else if (str.equals("冰面救援技术")) {
                trainingProgramMap.put("冰面救援技术", "c2.fire_program37");
            }else if (str.equals("快速出水操")) {
                trainingProgramMap.put("快速出水操", "c2.fire_program38");
            }else if (str.equals("三人着装打靶操")) {
                trainingProgramMap.put("三人着装打靶操", "c2.fire_program39");
            }else if (str.equals("纵深灭火救人操")) {
                trainingProgramMap.put("纵深灭火救人操", "c2.fire_program40");
            }else if (str.equals("防盗门（窗）破拆操")) {
                trainingProgramMap.put("防盗门（窗）破拆操", "c2.fire_program41");
            }else if (str.equals("3车6组建筑火灾初战扑救操")) {
                trainingProgramMap.put("3车6组建筑火灾初战扑救操", "c2.fire_program42");
            }else if (str.equals("8种常用绳结及7倍力以下倍力系统制作")) {
                trainingProgramMap.put("8种常用绳结及7倍力以下倍力系统制作", "c2.fire_program43");
            }
            List<FirefighterFireTable > performanceTS = null;
            for (Map.Entry<String, String> entry : trainingProgramMap.entrySet()) {
                Performance performance = new Performance();
                performance.setOa(entry.getValue());
                performance.setId(dateList.getId());
                performanceTS = firefighterFireTableService.selectByNameAndId(performance);
            }
            if (performanceTS.size()<=0&&performanceTS==null){
                return error("NOK");
            }
            for (FirefighterFireTable table : performanceTS) {
                table.setEntryDate(table.getEntryDate().split("-")[1]);
            }
            Map<List<Object>, FirefighterFireTable> map = performanceTS.stream()
                    .collect(Collectors.toMap(
                            pm -> Arrays.asList(pm.getEntryDate()), // keyMapper，生成map的键
                            Function.identity(), // valueMapper，生成map的值
                            (existing, replacement) -> existing // mergeFunction，处理键冲突时保留哪个值
                    ));
            ArrayList<FirefighterFireTable> uniquePerformanceMS = new ArrayList<>(map.values());
            for (FirefighterFireTable m : uniquePerformanceMS) {
                if ( m.getEntryDate().equals("01")){
                    if (m.getFireProgram()==null){
                        stringArray[0]= "0 | 0分";
                    }else {
                        stringArray[0]=m.getFireProgram();
                    }
                }else if( m.getEntryDate().equals("02")){
                    if (m.getFireProgram()==null){
                        stringArray[1]= "0 | 0分";
                    }else {
                        stringArray[1]=m.getFireProgram();
                    }
                }else if( m.getEntryDate().equals("03")){
                    if (m.getFireProgram()==null){
                        stringArray[2]= "0 | 0分";
                    }else {
                        stringArray[2]=m.getFireProgram();
                    }
                }else if( m.getEntryDate().equals("04")){
                    if (m.getFireProgram()==null){
                        stringArray[3]= "0 | 0分";
                    }else {
                        stringArray[3]=m.getFireProgram();
                    }
                }else if( m.getEntryDate().equals("05")){
                    if (m.getFireProgram() == null){
                        stringArray[4]= "0 | 0分";
                    }else {
                        stringArray[4]=m.getFireProgram();
                    }
                }else if( m.getEntryDate().equals("06")){
                    if (m.getFireProgram()==null){
                        stringArray[5]= "0  0分";
                    }else {
                        stringArray[5]=m.getFireProgram();
                    }
                }else if( m.getEntryDate().equals("07")){
                    if (m.getFireProgram()==null){
                        stringArray[6]= "0 | 0分";
                    }else {
                        stringArray[6]=m.getFireProgram();
                    }
                }else if( m.getEntryDate().equals("08")){
                    if (m.getFireProgram()==null){
                        stringArray[7]= "0 | 0分";
                    }else {
                        stringArray[7]=m.getFireProgram();
                    }
                }else if( m.getEntryDate().equals("09")){
                    if (m.getFireProgram()==null){
                        stringArray[8]= "0 | 0分";
                    }else {
                        stringArray[8]=m.getFireProgram();
                    }
                }else if( m.getEntryDate().equals("10")){
                    if (m.getFireProgram()==null){
                        stringArray[9]= "0 | 0分";
                    }else {
                        stringArray[9]=m.getFireProgram();
                    }
                }else if( m.getEntryDate().equals("11")){
                    if (m.getFireProgram()==null){
                        stringArray[10]= "0 | 0分";
                    }else {
                        stringArray[10]=m.getFireProgram();
                    }
                }else if( m.getEntryDate().equals("12")){
                    if (m.getFireProgram()==null){
                        stringArray[11]= "0 | 0分";
                    }else {
                        stringArray[11]=m.getFireProgram();
                    }
                }
            }
            for (int i = 0; i < stringArray.length; i++) {
                if (stringArray[i] == null) {
                    stringArray[i] =  "0 | 0分";
                }
            }
            String[] stringArray1 = new String[12];
            for (int i = 0; i < stringArray.length; i++) {
                String[] split = stringArray[i].split("\\| ");
                String[] split1 = split[1].split("分");
                stringArray1[i] = split1[0];
            }
            return success("OK", stringArray1);
        }
        return error("NOK");
    }

    /**
     * 导出 根据id去获取对应信息
     *
     * @param
     * @2024-11-5
     */
    @PostMapping("/daoCuArray")
    public void daoCuArray(HttpServletResponse response, @RequestBody DcdateList dcdateList) {
        Long userIdLong = dcdateList.getUserIdLogin();
        Roleo role1 = new Roleo();
        role1.setUserId(userIdLong);
        Roleo  role = firefighterFireService.selectRoleName(role1);
        String roleName = role.getRoleName();
         System.out.println("roleName:"+roleName);
        Dcdatf dcdatf = new Dcdatf();
        dcdatf.setDcDateList(dcdateList.getDcdateList());
        ArrayList<FirefighterInfo> firefighterInfos = new ArrayList<>();
        ArrayList<FirefighterFire> firefighterFires = new ArrayList<>();
        ArrayList<PerformanceA> performanceAS1 = new ArrayList<>();
        ArrayList<FirefighterSubject> firefighterSubjects = new ArrayList<>();
        for (Dcdate dcdate : dcdatf.getDcDateList()) {
            if (dcdate.getId() != null && dcdate.getLabel() != null) {
                //获取消防员
                FirefighterInfo firefighterInfo = firefighterInfoService.selectFirefighterInfoByIdAndName(dcdate);
                if (firefighterInfo != null) {
                    firefighterInfos.add(firefighterInfo);
                }
                FirefighterFire firefighterFire = iFirefighterFireService.selectFirefighterInfoByIdAndName(dcdate);
                if (firefighterFire != null) {
                    firefighterFires.add(firefighterFire);
                }
                FirefighterSubject firefighterSubject = iFirefighterSubjectService.selectFirefighterInfoByIdAndName(dcdate);
                if (firefighterSubject != null) {
                    firefighterSubjects.add(firefighterSubject);
                }
            }
        }
        if (firefighterInfos.size() == 0) {
//            return error("NOK");
            return ;
        }
        ArrayList<PerformanceVo> performanceVos = new ArrayList<>();
        for (FirefighterInfo info : firefighterInfos) {
            PerformanceVo performanceVo = new PerformanceVo(null,null,null,null);
            performanceVo.setName(info.getName());
            performanceVo.setUserId(info.getUserId());
            //封装体能
            if (firefighterSubjects.size() != 0) {
                ArrayList<PerformanceT> performanceTS = new ArrayList<>();
                Performance performance = new Performance();
                performance.setId(info.getUserId());
                List<String> strings = new ArrayList();
                for (FirefighterSubject fire : firefighterSubjects) {
                    strings.add(fire.getProgramName());
                }
                performance.setSubject(strings);
                //写一个方法根据
                Map<String, String> stringStringMap = toUpperCaseList(strings);
                for (Map.Entry<String, String> entry : stringStringMap.entrySet()) {
                    performance.setOa(entry.getKey());
                    performance.setOb(entry.getValue());
                    List<PerformanceT> performanceTS1 = morescreeningdateService.selectVoTneng(performance);
                    for (PerformanceT t : performanceTS1) {
                        performanceTS.add(t);
                    }
                }
                for (PerformanceT t : performanceTS) {
                    if (t.getRemark().equals("1")){
                        t.setRemark("基础训练");
                    }else {
                        t.setRemark("应用训练");
                    }
                    String[] split = t.getEntryDate().split("-");
                    t.setEntryDate(split[1]);
                }
                Map<List<Object>, PerformanceT> map = performanceTS.stream()
                        .collect(Collectors.toMap(
                                pm -> Arrays.asList(pm.getEntryDate(), pm.getProgramName()), // keyMapper，生成map的键
                                Function.identity(), // valueMapper，生成map的值
                                (existing, replacement) -> existing // mergeFunction，处理键冲突时保留哪个值
                        ));
                ArrayList<PerformanceT> uniquePerformanceMS = new ArrayList<>(map.values());

                performanceVo.setPerformanceTList(uniquePerformanceMS);
            }
            //封装灭火
            if (firefighterFires.size() != 0) {
                 ArrayList<PerformanceM> performanceMS = new ArrayList<>();
                Performance performance = new Performance();
                performance.setId(info.getUserId());
                List<String> strings = new ArrayList();
                for (FirefighterFire fire : firefighterFires) {
                    strings.add(fire.getProgramName());
                }
                performance.setSubject(strings);
                //写一个方法根据
                Map<String, String> stringStringMap = toUpperCaseList1(strings);
                for (Map.Entry<String, String> entry : stringStringMap.entrySet()) {
                    performance.setOa(entry.getKey());
                    performance.setOb(entry.getValue());
                    List<PerformanceM> performanceM= morescreeningdateService.selectVoTneng1(performance);
                    for (PerformanceM m : performanceM) {
                        performanceMS.add(m);
                    }
                }
                for (PerformanceM t : performanceMS) {
                    if (t.getRemark().equals("1")){
                        t.setRemark("单兵项目");
                    }else {
                        t.setRemark("班级项目");
                    }
                    String[] split = t.getEntryDate().split("-");
                    t.setEntryDate(split[1]);
                }
                Map<List<Object>, PerformanceM> map = performanceMS.stream()
                        .collect(Collectors.toMap(
                                pm -> Arrays.asList(pm.getEntryDate(), pm.getProgramName()), // keyMapper，生成map的键
                                Function.identity(), // valueMapper，生成map的值
                                (existing, replacement) -> existing // mergeFunction，处理键冲突时保留哪个值
                        ));
                ArrayList<PerformanceM> uniquePerformanceMS = new ArrayList<>(map.values());
                performanceVo.setPerformanceMList(uniquePerformanceMS);
             }
            performanceVos.add(performanceVo);
            }
        //========灭火信息===============
        for (PerformanceVo vo : performanceVos) {
            if(vo.getPerformanceMList()!=null){
                for (PerformanceM m : vo.getPerformanceMList()) {
                    if (m!=null){
                        PerformanceA performanceA = new PerformanceA();
                        performanceA.setUserId(vo.getUserId());
                        performanceA.setName(vo.getName());
                        performanceA.setCategory(m.getRemark());
                        performanceA.setSubject(m.getProgramName());
                        if (m.getEntryDate().equals("01")){
                            performanceA.setJanuary(m.getFireProgram());
                            performanceA.setStr("01");
                        }else if(m.getEntryDate().equals("02")){
                            performanceA.setFebruary(m.getFireProgram());
                            performanceA.setStr("02");
                        } else if (m.getEntryDate().equals("03")) {
                            performanceA.setMarch(m.getFireProgram());
                            performanceA.setStr("03");
                        } else if (m.getEntryDate().equals("04")) {
                            performanceA.setApril(m.getFireProgram());
                            performanceA.setStr("04");
                        } else if (m.getEntryDate().equals("05")) {
                            performanceA.setMay(m.getFireProgram());
                            performanceA.setStr("05");
                        } else if (m.getEntryDate().equals("06")) {
                            performanceA.setJune(m.getFireProgram());
                            performanceA.setStr("06");
                        } else if (m.getEntryDate().equals("07")) {
                            performanceA.setJuly(m.getFireProgram());
                            performanceA.setStr("07");
                        } else if (m.getEntryDate().equals("08")) {
                            performanceA.setAugust(m.getFireProgram());
                            performanceA.setStr("08");
                        } else if (m.getEntryDate().equals("09")) {
                            performanceA.setSeptember(m.getFireProgram());
                            performanceA.setStr("09");
                        } else if (m.getEntryDate().equals("10")) {
                            performanceA.setOctober(m.getFireProgram());
                            performanceA.setStr("10");
                        } else if (m.getEntryDate().equals("11")) {
                            performanceA.setNovember(m.getFireProgram());
                            performanceA.setStr("11");
                        } else if (m.getEntryDate().equals("12")) {
                            performanceA.setDecember(m.getFireProgram());
                            performanceA.setStr("12");
                        }
                        performanceAS1.add(performanceA);
                    }
                }
            }

        }
//==========体能信息=============
        for (PerformanceVo vo : performanceVos) {
            if (vo.getPerformanceTList()!=null){
                for (PerformanceT m : vo.getPerformanceTList()) {
                    if (m!=null){
                        PerformanceA performanceA = new PerformanceA();
                        performanceA.setUserId(vo.getUserId());
                        performanceA.setName(vo.getName());
                        performanceA.setCategory(m.getRemark());
                        performanceA.setSubject(m.getProgramName());
                        if (m.getEntryDate().equals("01")){
                            performanceA.setJanuary(m.getTrainingProgram());
                            performanceA.setStr("01");
                        }else if(m.getEntryDate().equals("02")){
                            performanceA.setFebruary(m.getTrainingProgram());
                            performanceA.setStr("02");
                        } else if (m.getEntryDate().equals("03")) {
                            performanceA.setMarch(m.getTrainingProgram());
                            performanceA.setStr("03");
                        } else if (m.getEntryDate().equals("04")) {
                            performanceA.setApril(m.getTrainingProgram());
                            performanceA.setStr("04");
                        } else if (m.getEntryDate().equals("05")) {
                            performanceA.setMay(m.getTrainingProgram());
                            performanceA.setStr("05");
                        } else if (m.getEntryDate().equals("06")) {
                            performanceA.setJune(m.getTrainingProgram());
                            performanceA.setStr("06");
                        } else if (m.getEntryDate().equals("07")) {
                            performanceA.setJuly(m.getTrainingProgram());
                            performanceA.setStr("07");
                        } else if (m.getEntryDate().equals("08")) {
                            performanceA.setAugust(m.getTrainingProgram());
                            performanceA.setStr("08");
                        } else if (m.getEntryDate().equals("09")) {
                            performanceA.setSeptember(m.getTrainingProgram());
                            performanceA.setStr("09");
                        } else if (m.getEntryDate().equals("10")) {
                            performanceA.setOctober(m.getTrainingProgram());
                            performanceA.setStr("10");
                        } else if (m.getEntryDate().equals("11")) {
                            performanceA.setNovember(m.getTrainingProgram());
                            performanceA.setStr("11");
                        } else if (m.getEntryDate().equals("12")) {
                            performanceA.setDecember(m.getTrainingProgram());
                            performanceA.setStr("12");
                        }
                        performanceAS1.add(performanceA);
                    }
                }
            }

        }

        Set<PerformanceA> seenSubjects = new HashSet<>();
        for (PerformanceA a : performanceAS1) {
            String subject = a.getSubject();
            if (!seenSubjects.contains(subject)) {
                PerformanceA performanceA = new PerformanceA();
                performanceA.setSubject(subject);
                performanceA.setUserId(a.getUserId());
                performanceA.setName(a.getName());
                performanceA.setCategory(a.getCategory());
                seenSubjects.add(performanceA);
            }
        }
        //体能数据
        ArrayList<PerformanceA> performanceAS1T = new ArrayList<>();
        //灭火数据
        ArrayList<PerformanceA> performanceAS1M = new ArrayList<>();
        //返回体能数据
        ArrayList<PerformanceA> performanceAS2T = new ArrayList<>();
        //返回灭火数据
        ArrayList<PerformanceA> performanceAS2M = new ArrayList<>();
        for (PerformanceA a : performanceAS1) {
            if (a.getCategory().equals("应用训练")||a.getCategory().equals("基础训练")){
                performanceAS1T.add(a);
            }else {
                performanceAS1M.add(a);
            }
        }
        for (PerformanceA a : seenSubjects) {
            if (a.getCategory().equals("应用训练")||a.getCategory().equals("基础训练")){
                performanceAS2T.add(a);
            }else {
                performanceAS2M.add(a);
            }
        }
        for (PerformanceA a : performanceAS1T) {
            for (PerformanceA s : performanceAS2T) {
                if(a.getName().equals(s.getName())&&a.getSubject().equals(s.getSubject())){
                    if (a.getStr().equals("01")){
                        if (a.getSubject().equals("100米跑")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("5000米跑")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("游泳")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("5x25折返跑")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("单杠卷身上")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("双杠臂屈伸")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("百米负重跑")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("负重登10楼")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("400米救人疏散物资")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("爬绳上四楼")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("百米消防障碍")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("60米肩梯")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("搬运重物折返跑")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("负重深蹲")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("爬杆")){
                            s.setJanuary(a.getJanuary());
                        }
                    }else if(a.getStr().equals("02")){
                        if (a.getSubject().equals("100米跑")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("5000米跑")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("游泳")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("5x25折返跑")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("单杠卷身上")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("双杠臂屈伸")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("百米负重跑")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("负重登10楼")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("400米救人疏散物资")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("爬绳上四楼")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("百米消防障碍")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("60米肩梯")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("搬运重物折返跑")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("负重深蹲")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("爬杆")){
                            s.setFebruary(a.getFebruary());
                        }
                    }else if(a.getStr().equals("03")){
                        if (a.getSubject().equals("100米跑")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("5000米跑")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("游泳")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("5x25折返跑")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("单杠卷身上")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("双杠臂屈伸")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("百米负重跑")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("负重登10楼")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("400米救人疏散物资")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("爬绳上四楼")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("百米消防障碍")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("60米肩梯")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("搬运重物折返跑")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("负重深蹲")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("爬杆")){
                            s.setMarch(a.getMarch());
                        }
                    }else if(a.getStr().equals("04")){
                        if (a.getSubject().equals("100米跑")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("5000米跑")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("游泳")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("5x25折返跑")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("单杠卷身上")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("双杠臂屈伸")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("百米负重跑")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("负重登10楼")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("400米救人疏散物资")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("爬绳上四楼")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("百米消防障碍")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("60米肩梯")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("搬运重物折返跑")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("负重深蹲")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("爬杆")){
                            s.setApril(a.getApril());
                        }
                    }else if(a.getStr().equals("05")){
                        if (a.getSubject().equals("100米跑")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("5000米跑")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("游泳")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("5x25折返跑")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("单杠卷身上")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("双杠臂屈伸")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("百米负重跑")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("负重登10楼")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("400米救人疏散物资")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("爬绳上四楼")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("百米消防障碍")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("60米肩梯")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("搬运重物折返跑")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("负重深蹲")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("爬杆")){
                            s.setMay(a.getMay());
                        }
                    }else if(a.getStr().equals("06")){
                        if (a.getSubject().equals("100米跑")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("5000米跑")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("游泳")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("5x25折返跑")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("单杠卷身上")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("双杠臂屈伸")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("百米负重跑")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("负重登10楼")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("400米救人疏散物资")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("爬绳上四楼")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("百米消防障碍")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("60米肩梯")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("搬运重物折返跑")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("负重深蹲")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("爬杆")){
                            s.setJune(a.getJune());
                        }
                    }else if(a.getStr().equals("07")){
                        if (a.getSubject().equals("100米跑")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("5000米跑")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("游泳")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("5x25折返跑")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("单杠卷身上")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("双杠臂屈伸")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("百米负重跑")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("负重登10楼")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("400米救人疏散物资")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("爬绳上四楼")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("百米消防障碍")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("60米肩梯")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("搬运重物折返跑")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("负重深蹲")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("爬杆")){
                            s.setJuly(a.getJuly());
                        }
                    }else if(a.getStr().equals("08")){
                        if (a.getSubject().equals("100米跑")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("5000米跑")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("游泳")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("5x25折返跑")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("单杠卷身上")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("双杠臂屈伸")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("百米负重跑")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("负重登10楼")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("400米救人疏散物资")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("爬绳上四楼")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("百米消防障碍")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("60米肩梯")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("搬运重物折返跑")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("负重深蹲")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("爬杆")){
                            s.setAugust(a.getAugust());
                        }
                    }else if(a.getStr().equals("09")){
                        if (a.getSubject().equals("100米跑")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("5000米跑")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("游泳")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("5x25折返跑")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("单杠卷身上")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("双杠臂屈伸")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("百米负重跑")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("负重登10楼")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("400米救人疏散物资")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("爬绳上四楼")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("百米消防障碍")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("60米肩梯")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("搬运重物折返跑")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("负重深蹲")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("爬杆")){
                            s.setSeptember(a.getSeptember());
                        }
                    }else if(a.getStr().equals("10")){
                        if (a.getSubject().equals("100米跑")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("5000米跑")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("游泳")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("5x25折返跑")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("单杠卷身上")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("双杠臂屈伸")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("百米负重跑")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("负重登10楼")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("400米救人疏散物资")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("爬绳上四楼")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("百米消防障碍")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("60米肩梯")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("搬运重物折返跑")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("负重深蹲")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("爬杆")){
                            s.setOctober(a.getOctober());
                        }
                    }else if(a.getStr().equals("11")){
                        if (a.getSubject().equals("100米跑")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("5000米跑")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("游泳")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("5x25折返跑")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("单杠卷身上")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("双杠臂屈伸")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("百米负重跑")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("负重登10楼")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("400米救人疏散物资")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("爬绳上四楼")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("百米消防障碍")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("60米肩梯")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("搬运重物折返跑")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("负重深蹲")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("爬杆")){
                            s.setNovember(a.getNovember());
                        }
                    }else if(a.getStr().equals("12")){
                        if (a.getSubject().equals("100米跑")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("5000米跑")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("游泳")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("5x25折返跑")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("单杠卷身上")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("双杠臂屈伸")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("百米负重跑")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("负重登10楼")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("400米救人疏散物资")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("爬绳上四楼")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("百米消防障碍")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("60米肩梯")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("搬运重物折返跑")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("负重深蹲")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("爬杆")){
                            s.setDecember(a.getDecember());
                        }}
                }
            }
        }
        for (PerformanceA a : performanceAS1M) {
            for (PerformanceA s : performanceAS2M) {
                if(a.getName().equals(s.getName())&&a.getSubject().equals(s.getSubject())){
                    if (a.getStr().equals("01")){
                        if (a.getSubject().equals("单一人三盘水带连接")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("沿拉梯铺设水带")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("垂直铺设水带")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("狭小空间铺设水带")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("吸水管连接")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("射水技术")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("攀登挂钩梯上四楼")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("攀登单杠梯")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("两人五盘水带连接")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("干线水带更换")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("楼层吊升水带")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("水带登高伸长")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("垂直更换水带")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("水枪前延长水带")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("分水器前延长水带")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("三盘水带连接")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("纵深灭火操")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("车辆驾驶")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("地下有限空间救援操")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("百米障碍救助操")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("信息综合查询操")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("拉梯与钩梯联用操")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("车辆操作")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("十五米拉梯架设操")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("枪炮协同操")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("片图绘制")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("60米肩梯架设操")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("绳结制作操")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("三盘水带连接操")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("楼层火灾内攻操")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("挂钩提上四楼")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("车辆引导")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("无人机侦察操")){
                            s.setJanuary(a.getJanuary());
                        } else if(a.getSubject().equals("地下有限空间救人操")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("车载炮出水")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("四节吸水管连接操")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("顶撑救援操")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("冰面救援技术")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("快速出水操")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("三人着装打靶操")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("纵深灭火救人操")){
                            s.setJanuary(a.getJanuary());
                        } else if(a.getSubject().equals("防盗门（窗）破拆操")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("3车6组建筑火灾初战扑救操")){
                            s.setJanuary(a.getJanuary());
                        }else if(a.getSubject().equals("8种常用绳结及7倍力以下倍力系统制作")){
                            s.setJanuary(a.getJanuary());
                        }
                    }else if(a.getStr().equals("02")){
                        if (a.getSubject().equals("单一人三盘水带连接")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("沿拉梯铺设水带")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("垂直铺设水带")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("狭小空间铺设水带")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("吸水管连接")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("射水技术")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("攀登挂钩梯上四楼")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("攀登单杠梯")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("两人五盘水带连接")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("干线水带更换")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("楼层吊升水带")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("水带登高伸长")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("垂直更换水带")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("水枪前延长水带")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("分水器前延长水带")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("三盘水带连接")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("纵深灭火操")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("车辆驾驶")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("地下有限空间救援操")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("百米障碍救助操")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("信息综合查询操")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("拉梯与钩梯联用操")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("车辆操作")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("十五米拉梯架设操")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("枪炮协同操")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("片图绘制")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("60米肩梯架设操")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("绳结制作操")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("三盘水带连接操")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("楼层火灾内攻操")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("挂钩提上四楼")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("车辆引导")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("无人机侦察操")){
                            s.setFebruary(a.getFebruary());
                        } else if(a.getSubject().equals("地下有限空间救人操")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("车载炮出水")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("四节吸水管连接操")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("顶撑救援操")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("冰面救援技术")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("快速出水操")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("三人着装打靶操")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("纵深灭火救人操")){
                            s.setFebruary(a.getFebruary());
                        } else if(a.getSubject().equals("防盗门（窗）破拆操")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("3车6组建筑火灾初战扑救操")){
                            s.setFebruary(a.getFebruary());
                        }else if(a.getSubject().equals("8种常用绳结及7倍力以下倍力系统制作")){
                            s.setFebruary(a.getFebruary());
                        }
                    }else if(a.getStr().equals("03")){
                        if (a.getSubject().equals("单一人三盘水带连接")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("沿拉梯铺设水带")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("垂直铺设水带")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("狭小空间铺设水带")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("吸水管连接")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("射水技术")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("攀登挂钩梯上四楼")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("攀登单杠梯")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("两人五盘水带连接")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("干线水带更换")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("楼层吊升水带")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("水带登高伸长")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("垂直更换水带")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("水枪前延长水带")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("分水器前延长水带")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("三盘水带连接")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("纵深灭火操")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("车辆驾驶")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("地下有限空间救援操")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("百米障碍救助操")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("信息综合查询操")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("拉梯与钩梯联用操")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("车辆操作")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("十五米拉梯架设操")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("枪炮协同操")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("片图绘制")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("60米肩梯架设操")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("绳结制作操")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("三盘水带连接操")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("楼层火灾内攻操")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("挂钩提上四楼")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("车辆引导")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("无人机侦察操")){
                            s.setMarch(a.getMarch());
                        } else if(a.getSubject().equals("地下有限空间救人操")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("车载炮出水")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("四节吸水管连接操")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("顶撑救援操")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("冰面救援技术")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("快速出水操")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("三人着装打靶操")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("纵深灭火救人操")){
                            s.setMarch(a.getMarch());
                        } else if(a.getSubject().equals("防盗门（窗）破拆操")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("3车6组建筑火灾初战扑救操")){
                            s.setMarch(a.getMarch());
                        }else if(a.getSubject().equals("8种常用绳结及7倍力以下倍力系统制作")){
                            s.setMarch(a.getMarch());
                        }
                    }else if(a.getStr().equals("04")){
                        if (a.getSubject().equals("单一人三盘水带连接")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("沿拉梯铺设水带")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("垂直铺设水带")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("狭小空间铺设水带")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("吸水管连接")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("射水技术")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("攀登挂钩梯上四楼")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("攀登单杠梯")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("两人五盘水带连接")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("干线水带更换")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("楼层吊升水带")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("水带登高伸长")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("垂直更换水带")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("水枪前延长水带")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("分水器前延长水带")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("三盘水带连接")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("纵深灭火操")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("车辆驾驶")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("地下有限空间救援操")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("百米障碍救助操")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("信息综合查询操")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("拉梯与钩梯联用操")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("车辆操作")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("十五米拉梯架设操")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("枪炮协同操")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("片图绘制")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("60米肩梯架设操")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("绳结制作操")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("三盘水带连接操")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("楼层火灾内攻操")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("挂钩提上四楼")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("车辆引导")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("无人机侦察操")){
                            s.setApril(a.getApril());
                        } else if(a.getSubject().equals("地下有限空间救人操")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("车载炮出水")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("四节吸水管连接操")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("顶撑救援操")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("冰面救援技术")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("快速出水操")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("三人着装打靶操")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("纵深灭火救人操")){
                            s.setApril(a.getApril());
                        } else if(a.getSubject().equals("防盗门（窗）破拆操")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("3车6组建筑火灾初战扑救操")){
                            s.setApril(a.getApril());
                        }else if(a.getSubject().equals("8种常用绳结及7倍力以下倍力系统制作")){
                            s.setApril(a.getApril());
                        }
                    }else if(a.getStr().equals("05")){
                        if (a.getSubject().equals("单一人三盘水带连接")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("沿拉梯铺设水带")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("垂直铺设水带")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("狭小空间铺设水带")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("吸水管连接")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("射水技术")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("攀登挂钩梯上四楼")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("攀登单杠梯")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("两人五盘水带连接")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("干线水带更换")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("楼层吊升水带")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("水带登高伸长")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("垂直更换水带")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("水枪前延长水带")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("分水器前延长水带")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("三盘水带连接")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("纵深灭火操")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("车辆驾驶")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("地下有限空间救援操")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("百米障碍救助操")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("信息综合查询操")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("拉梯与钩梯联用操")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("车辆操作")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("十五米拉梯架设操")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("枪炮协同操")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("片图绘制")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("60米肩梯架设操")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("绳结制作操")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("三盘水带连接操")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("楼层火灾内攻操")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("挂钩提上四楼")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("车辆引导")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("无人机侦察操")){
                            s.setMay(a.getMay());
                        } else if(a.getSubject().equals("地下有限空间救人操")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("车载炮出水")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("四节吸水管连接操")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("顶撑救援操")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("冰面救援技术")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("快速出水操")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("三人着装打靶操")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("纵深灭火救人操")){
                            s.setMay(a.getMay());
                        } else if(a.getSubject().equals("防盗门（窗）破拆操")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("3车6组建筑火灾初战扑救操")){
                            s.setMay(a.getMay());
                        }else if(a.getSubject().equals("8种常用绳结及7倍力以下倍力系统制作")){
                            s.setMay(a.getMay());
                        }
                    }else if(a.getStr().equals("06")){
                        if (a.getSubject().equals("单一人三盘水带连接")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("沿拉梯铺设水带")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("垂直铺设水带")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("狭小空间铺设水带")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("吸水管连接")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("射水技术")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("攀登挂钩梯上四楼")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("攀登单杠梯")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("两人五盘水带连接")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("干线水带更换")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("楼层吊升水带")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("水带登高伸长")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("垂直更换水带")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("水枪前延长水带")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("分水器前延长水带")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("三盘水带连接")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("纵深灭火操")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("车辆驾驶")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("地下有限空间救援操")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("百米障碍救助操")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("信息综合查询操")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("拉梯与钩梯联用操")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("车辆操作")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("十五米拉梯架设操")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("枪炮协同操")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("片图绘制")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("60米肩梯架设操")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("绳结制作操")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("三盘水带连接操")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("楼层火灾内攻操")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("挂钩提上四楼")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("车辆引导")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("无人机侦察操")){
                            s.setJune(a.getJune());
                        } else if(a.getSubject().equals("地下有限空间救人操")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("车载炮出水")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("四节吸水管连接操")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("顶撑救援操")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("冰面救援技术")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("快速出水操")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("三人着装打靶操")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("纵深灭火救人操")){
                            s.setJune(a.getJune());
                        } else if(a.getSubject().equals("防盗门（窗）破拆操")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("3车6组建筑火灾初战扑救操")){
                            s.setJune(a.getJune());
                        }else if(a.getSubject().equals("8种常用绳结及7倍力以下倍力系统制作")){
                            s.setJune(a.getJune());
                        }
                    }else if(a.getStr().equals("07")){
                        if (a.getSubject().equals("单一人三盘水带连接")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("沿拉梯铺设水带")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("垂直铺设水带")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("狭小空间铺设水带")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("吸水管连接")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("射水技术")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("攀登挂钩梯上四楼")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("攀登单杠梯")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("两人五盘水带连接")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("干线水带更换")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("楼层吊升水带")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("水带登高伸长")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("垂直更换水带")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("水枪前延长水带")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("分水器前延长水带")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("三盘水带连接")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("纵深灭火操")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("车辆驾驶")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("地下有限空间救援操")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("百米障碍救助操")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("信息综合查询操")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("拉梯与钩梯联用操")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("车辆操作")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("十五米拉梯架设操")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("枪炮协同操")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("片图绘制")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("60米肩梯架设操")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("绳结制作操")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("三盘水带连接操")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("楼层火灾内攻操")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("挂钩提上四楼")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("车辆引导")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("无人机侦察操")){
                            s.setJuly(a.getJuly());
                        } else if(a.getSubject().equals("地下有限空间救人操")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("车载炮出水")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("四节吸水管连接操")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("顶撑救援操")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("冰面救援技术")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("快速出水操")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("三人着装打靶操")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("纵深灭火救人操")){
                            s.setJuly(a.getJuly());
                        } else if(a.getSubject().equals("防盗门（窗）破拆操")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("3车6组建筑火灾初战扑救操")){
                            s.setJuly(a.getJuly());
                        }else if(a.getSubject().equals("8种常用绳结及7倍力以下倍力系统制作")){
                            s.setJuly(a.getJuly());
                        }
                    }else if(a.getStr().equals("08")){
                        if (a.getSubject().equals("单一人三盘水带连接")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("沿拉梯铺设水带")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("垂直铺设水带")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("狭小空间铺设水带")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("吸水管连接")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("射水技术")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("攀登挂钩梯上四楼")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("攀登单杠梯")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("两人五盘水带连接")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("干线水带更换")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("楼层吊升水带")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("水带登高伸长")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("垂直更换水带")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("水枪前延长水带")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("分水器前延长水带")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("三盘水带连接")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("纵深灭火操")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("车辆驾驶")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("地下有限空间救援操")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("百米障碍救助操")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("信息综合查询操")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("拉梯与钩梯联用操")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("车辆操作")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("十五米拉梯架设操")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("枪炮协同操")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("片图绘制")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("60米肩梯架设操")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("绳结制作操")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("三盘水带连接操")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("楼层火灾内攻操")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("挂钩提上四楼")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("车辆引导")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("无人机侦察操")){
                            s.setAugust(a.getAugust());
                        } else if(a.getSubject().equals("地下有限空间救人操")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("车载炮出水")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("四节吸水管连接操")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("顶撑救援操")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("冰面救援技术")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("快速出水操")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("三人着装打靶操")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("纵深灭火救人操")){
                            s.setAugust(a.getAugust());
                        } else if(a.getSubject().equals("防盗门（窗）破拆操")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("3车6组建筑火灾初战扑救操")){
                            s.setAugust(a.getAugust());
                        }else if(a.getSubject().equals("8种常用绳结及7倍力以下倍力系统制作")){
                            s.setAugust(a.getAugust());
                        }
                    }else if(a.getStr().equals("09")){
                        if (a.getSubject().equals("单一人三盘水带连接")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("沿拉梯铺设水带")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("垂直铺设水带")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("狭小空间铺设水带")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("吸水管连接")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("射水技术")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("攀登挂钩梯上四楼")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("攀登单杠梯")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("两人五盘水带连接")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("干线水带更换")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("楼层吊升水带")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("水带登高伸长")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("垂直更换水带")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("水枪前延长水带")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("分水器前延长水带")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("三盘水带连接")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("纵深灭火操")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("车辆驾驶")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("地下有限空间救援操")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("百米障碍救助操")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("信息综合查询操")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("拉梯与钩梯联用操")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("车辆操作")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("十五米拉梯架设操")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("枪炮协同操")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("片图绘制")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("60米肩梯架设操")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("绳结制作操")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("三盘水带连接操")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("楼层火灾内攻操")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("挂钩提上四楼")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("车辆引导")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("无人机侦察操")){
                            s.setSeptember(a.getSeptember());
                        } else if(a.getSubject().equals("地下有限空间救人操")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("车载炮出水")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("四节吸水管连接操")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("顶撑救援操")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("冰面救援技术")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("快速出水操")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("三人着装打靶操")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("纵深灭火救人操")){
                            s.setSeptember(a.getSeptember());
                        } else if(a.getSubject().equals("防盗门（窗）破拆操")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("3车6组建筑火灾初战扑救操")){
                            s.setSeptember(a.getSeptember());
                        }else if(a.getSubject().equals("8种常用绳结及7倍力以下倍力系统制作")){
                            s.setSeptember(a.getSeptember());
                        }
                    }else if(a.getStr().equals("10")){
                        if (a.getSubject().equals("单一人三盘水带连接")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("沿拉梯铺设水带")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("垂直铺设水带")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("狭小空间铺设水带")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("吸水管连接")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("射水技术")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("攀登挂钩梯上四楼")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("攀登单杠梯")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("两人五盘水带连接")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("干线水带更换")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("楼层吊升水带")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("水带登高伸长")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("垂直更换水带")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("水枪前延长水带")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("分水器前延长水带")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("三盘水带连接")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("纵深灭火操")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("车辆驾驶")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("地下有限空间救援操")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("百米障碍救助操")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("信息综合查询操")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("拉梯与钩梯联用操")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("车辆操作")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("十五米拉梯架设操")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("枪炮协同操")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("片图绘制")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("60米肩梯架设操")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("绳结制作操")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("三盘水带连接操")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("楼层火灾内攻操")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("挂钩提上四楼")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("车辆引导")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("无人机侦察操")){
                            s.setOctober(a.getOctober());
                        } else if(a.getSubject().equals("地下有限空间救人操")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("车载炮出水")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("四节吸水管连接操")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("顶撑救援操")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("冰面救援技术")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("快速出水操")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("三人着装打靶操")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("纵深灭火救人操")){
                            s.setOctober(a.getOctober());
                        } else if(a.getSubject().equals("防盗门（窗）破拆操")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("3车6组建筑火灾初战扑救操")){
                            s.setOctober(a.getOctober());
                        }else if(a.getSubject().equals("8种常用绳结及7倍力以下倍力系统制作")){
                            s.setOctober(a.getOctober());
                        }
                    }else if(a.getStr().equals("11")){
                        if (a.getSubject().equals("单一人三盘水带连接")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("沿拉梯铺设水带")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("垂直铺设水带")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("狭小空间铺设水带")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("吸水管连接")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("射水技术")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("攀登挂钩梯上四楼")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("攀登单杠梯")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("两人五盘水带连接")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("干线水带更换")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("楼层吊升水带")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("水带登高伸长")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("垂直更换水带")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("水枪前延长水带")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("分水器前延长水带")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("三盘水带连接")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("纵深灭火操")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("车辆驾驶")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("地下有限空间救援操")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("百米障碍救助操")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("信息综合查询操")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("拉梯与钩梯联用操")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("车辆操作")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("十五米拉梯架设操")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("枪炮协同操")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("片图绘制")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("60米肩梯架设操")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("绳结制作操")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("三盘水带连接操")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("楼层火灾内攻操")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("挂钩提上四楼")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("车辆引导")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("无人机侦察操")){
                            s.setNovember(a.getNovember());
                        } else if(a.getSubject().equals("地下有限空间救人操")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("车载炮出水")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("四节吸水管连接操")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("顶撑救援操")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("冰面救援技术")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("快速出水操")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("三人着装打靶操")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("纵深灭火救人操")){
                            s.setNovember(a.getNovember());
                        } else if(a.getSubject().equals("防盗门（窗）破拆操")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("3车6组建筑火灾初战扑救操")){
                            s.setNovember(a.getNovember());
                        }else if(a.getSubject().equals("8种常用绳结及7倍力以下倍力系统制作")){
                            s.setNovember(a.getNovember());
                        }
                    }else if(a.getStr().equals("12")){
                        if (a.getSubject().equals("单一人三盘水带连接")){
                            s.setNovember(a.getDecember());
                        }else if(a.getSubject().equals("沿拉梯铺设水带")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("垂直铺设水带")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("狭小空间铺设水带")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("吸水管连接")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("射水技术")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("攀登挂钩梯上四楼")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("攀登单杠梯")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("两人五盘水带连接")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("干线水带更换")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("楼层吊升水带")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("水带登高伸长")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("垂直更换水带")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("水枪前延长水带")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("分水器前延长水带")){
                            s.setDecember(a.getDecember());
                        } else if(a.getSubject().equals("三盘水带连接")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("纵深灭火操")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("车辆驾驶")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("地下有限空间救援操")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("百米障碍救助操")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("信息综合查询操")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("拉梯与钩梯联用操")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("车辆操作")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("十五米拉梯架设操")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("枪炮协同操")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("片图绘制")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("60米肩梯架设操")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("绳结制作操")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("三盘水带连接操")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("楼层火灾内攻操")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("挂钩提上四楼")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("车辆引导")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("无人机侦察操")){
                            s.setDecember(a.getDecember());
                        } else if(a.getSubject().equals("地下有限空间救人操")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("车载炮出水")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("四节吸水管连接操")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("顶撑救援操")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("冰面救援技术")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("快速出水操")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("三人着装打靶操")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("纵深灭火救人操")){
                            s.setDecember(a.getDecember());
                        } else if(a.getSubject().equals("防盗门（窗）破拆操")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("3车6组建筑火灾初战扑救操")){
                            s.setDecember(a.getDecember());
                        }else if(a.getSubject().equals("8种常用绳结及7倍力以下倍力系统制作")){
                            s.setDecember(a.getDecember());
                        }
                    }
                }
            }
        }

        ArrayList<PerformanceA> performanceAS = new ArrayList<>();
        for (PerformanceA a : performanceAS2T) {
            performanceAS.add(a);
        }
        for (PerformanceA b : performanceAS2M) {
            performanceAS.add(b);
        }
        ExcelUtil<PerformanceA> performanceVoExcelUtil = new ExcelUtil<>(PerformanceA.class);
        performanceVoExcelUtil.exportExcel(response, performanceAS, "导出消防员数据");
    }

    public static  Map<String, String> toUpperCaseList(List<String> inputList) {
          Map<String, String> trainingProgramMap = new HashMap<>();
        for (String str : inputList) {
            if (str.equals("100米跑")) {
                trainingProgramMap.put("100米跑","c2.training_program");
            } else if (str.equals("5000米跑")) {
                trainingProgramMap.put("5000米跑", "c2.training_program1");
            } else if (str.equals("游泳")) {
                trainingProgramMap.put("游泳", "c2.training_program2");
            } else if (str.equals("5x25折返跑")) {
                trainingProgramMap.put("5x25折返跑", "c2.training_program3");
            } else if (str.equals("单杠卷身上")) {
                trainingProgramMap.put("单杠卷身上", "c2.training_program4");
            } else if (str.equals("双杠臂屈伸")) {
                trainingProgramMap.put("双杠臂屈伸", "c2.training_program5");
            } else if (str.equals("百米负重跑")) {
                trainingProgramMap.put("百米负重跑", "c2.training_program6");
            } else if (str.equals("负重登10楼")) {
                trainingProgramMap.put("负重登10楼", "c2.training_program7");
            } else if (str.equals("400米救人疏散物资")) {
                trainingProgramMap.put("400米救人疏散物资", "c2.training_program8");
            } else if (str.equals("爬绳上四楼")) {
                trainingProgramMap.put("爬绳上四楼", "c2.training_program9");
            } else if (str.equals("百米消防障碍")) {
                trainingProgramMap.put("百米消防障碍", "c2.training_program10");
            } else if (str.equals("60米肩梯")) {
                trainingProgramMap.put("60米肩梯", "c2.training_program11");
            } else if (str.equals("搬运重物折返跑")) {
                trainingProgramMap.put("搬运重物折返跑", "c2.training_program12");
            }else if (str.equals("负重深蹲")) {
                trainingProgramMap.put("负重深蹲", "c2.training_program13");
            } else if (str.equals("爬杆")) {
                trainingProgramMap.put("爬杆", "c2.training_program14");
            }
        }
        return trainingProgramMap;
    }

    public static Map<String, String> toUpperCaseList1(List<String> inputList) {
        Map<String, String> trainingProgramMap = new HashMap<>();
        for (String str : inputList) {
            if (str.equals("单一人三盘水带连接")) {
                trainingProgramMap.put("单一人三盘水带连接", "c2.fire_program");
            } else if (str.equals("沿拉梯铺设水带")) {
                trainingProgramMap.put("沿拉梯铺设水带", "c2.fire_program1");
            } else if (str.equals("垂直铺设水带")) {
                trainingProgramMap.put("垂直铺设水带", "c2.fire_program2");
            } else if (str.equals("狭小空间铺设水带")) {
                trainingProgramMap.put("狭小空间铺设水带", "c2.fire_program3");
            } else if (str.equals("吸水管连接")) {
                trainingProgramMap.put("射水技术", "c2.fire_program4");
            } else if (str.equals("射水技术")) {
                trainingProgramMap.put("射水技术", "c2.fire_program5");
            } else if (str.equals("攀登挂钩梯上四楼")) {
                trainingProgramMap.put("攀登挂钩梯上四楼", "c2.fire_program6");
            } else if (str.equals("攀登单杠梯")) {
                trainingProgramMap.put("攀登单杠梯", "c2.fire_program7");
            } else if (str.equals("两人五盘水带连接")) {
                trainingProgramMap.put("两人五盘水带连接", "c2.fire_program8");
            } else if (str.equals("干线水带更换")) {
                trainingProgramMap.put("干线水带更换", "c2.fire_program9");
            } else if (str.equals("楼层吊升水带")) {
                trainingProgramMap.put("楼层吊升水带", "c2.fire_program10");
            } else if (str.equals("水带登高伸长")) {
                trainingProgramMap.put("水带登高伸长", "c2.fire_program11");
            } else if (str.equals("垂直更换水带")) {
                trainingProgramMap.put("垂直更换水带", "c2.fire_program12");
            } else if (str.equals("水枪前延长水带")) {
                trainingProgramMap.put("水枪前延长水带", "c2.fire_program13");
            } else if (str.equals("分水器前延长水带")) {
                trainingProgramMap.put("分水器前延长水带", "c2.fire_program14");
            }else if (str.equals("三盘水带连接")) {
                trainingProgramMap.put("三盘水带连接", "c2.fire_program15");
            }else if (str.equals("纵深灭火操")) {
                trainingProgramMap.put("纵深灭火操", "c2.fire_program16");
            }else if (str.equals("车辆驾驶")) {
                trainingProgramMap.put("车辆驾驶", "c2.fire_program17");
            }else if (str.equals("地下有限空间救援操")) {
                trainingProgramMap.put("地下有限空间救援操", "c2.fire_program18");
            }else if (str.equals("百米障碍救助操")) {
                trainingProgramMap.put("百米障碍救助操", "c2.fire_program19");
            }else if (str.equals("信息综合查询操")) {
                trainingProgramMap.put("信息综合查询操", "c2.fire_program20");
            }else if (str.equals("拉梯与钩梯联用操")) {
                trainingProgramMap.put("拉梯与钩梯联用操", "c2.fire_program21");
            }else if (str.equals("车辆操作")) {
                trainingProgramMap.put("车辆操作", "c2.fire_program22");
            }else if (str.equals("十五米拉梯架设操")) {
                trainingProgramMap.put("十五米拉梯架设操", "c2.fire_program23");
            }else if (str.equals("枪炮协同操")) {
                trainingProgramMap.put("枪炮协同操", "c2.fire_program24");
            }else if (str.equals("片图绘制")) {
                trainingProgramMap.put("片图绘制", "c2.fire_program25");
            }else if (str.equals("60米肩梯架设操")) {
                trainingProgramMap.put("60米肩梯架设操", "c2.fire_program26");
            }else if (str.equals("绳结制作操")) {
                trainingProgramMap.put("绳结制作操", "c2.fire_program27");
            }else if (str.equals("三盘水带连接操")) {
                trainingProgramMap.put("三盘水带连接操", "c2.fire_program28");
            }else if (str.equals("楼层火灾内攻操")) {
                trainingProgramMap.put("楼层火灾内攻操", "c2.fire_program29");
            }else if (str.equals("挂钩提上四楼")) {
                trainingProgramMap.put("挂钩提上四楼", "c2.fire_program30");
            }else if (str.equals("车辆引导")) {
                trainingProgramMap.put("车辆引导", "c2.fire_program31");
            }else if (str.equals("无人机侦察操")) {
                trainingProgramMap.put("无人机侦察操", "c2.fire_program32");
            }else if (str.equals("地下有限空间救人操")) {
                trainingProgramMap.put("地下有限空间救人操", "c2.fire_program33");
            }else if (str.equals("车载炮出水")) {
                trainingProgramMap.put("车载炮出水", "c2.fire_program34");
            }else if (str.equals("四节吸水管连接操")) {
                trainingProgramMap.put("四节吸水管连接操", "c2.fire_program35");
            }else if (str.equals("顶撑救援操")) {
                trainingProgramMap.put("顶撑救援操", "c2.fire_program36");
            }else if (str.equals("冰面救援技术")) {
                trainingProgramMap.put("冰面救援技术", "c2.fire_program37");
            }else if (str.equals("快速出水操")) {
                trainingProgramMap.put("快速出水操", "c2.fire_program38");
            }else if (str.equals("三人着装打靶操")) {
                trainingProgramMap.put("三人着装打靶操", "c2.fire_program39");
            }else if (str.equals("纵深灭火救人操")) {
                trainingProgramMap.put("纵深灭火救人操", "c2.fire_program40");
            }else if (str.equals("防盗门（窗）破拆操")) {
                trainingProgramMap.put("防盗门（窗）破拆操", "c2.fire_program41");
            }else if (str.equals("3车6组建筑火灾初战扑救操")) {
                trainingProgramMap.put("3车6组建筑火灾初战扑救操", "c2.fire_program42");
            }else if (str.equals("8种常用绳结及7倍力以下倍力系统制作")) {
                trainingProgramMap.put("8种常用绳结及7倍力以下倍力系统制作", "c2.fire_program43");
            }
        }
        return trainingProgramMap;
    }
    /**
     * 导出前端回显数据
     * @param
     * @2024-11-5
     */
    @PostMapping("/DcDate")
    public AjaxResult DcDate(@RequestBody FirefighterInfo firefighterInfos1)
    {
        Long userIdLong = firefighterInfos1.getUserIdLogin();
        Roleo role1 = new Roleo();
        role1.setUserId(userIdLong);
        Roleo  role = firefighterFireService.selectRoleName(role1);
        String roleName = role.getRoleName();
        //消防員集合
        List<FirefighterInfo> firefighterInfos = firefighterInfoService.selectFirefighterInfoList(new FirefighterInfo());
        ArrayList<FirefighterInfo> firefighterInfos2 = new ArrayList<>();
        FirefighterInfo firefighterInfo1 = firefighterInfoService.selectFirefighterInfoByUserId(userIdLong);
        if (roleName.equals("普通角色")){
            for (FirefighterInfo info : firefighterInfos) {
                if(info.getUserId().equals(firefighterInfo1.getUserId())){
                    firefighterInfos2.add(info);
                }
            }
            firefighterInfos.clear();
            for (FirefighterInfo info : firefighterInfos2) {
                firefighterInfos.add(info);
            }
        }
        //滅火
        List<FirefighterFire> firefighterFires = iFirefighterFireService.selectFirefighterFireList(new FirefighterFire());
        //體能
        List<FirefighterSubject> firefighterSubjects = iFirefighterSubjectService.selectFirefighterSubjectList(new FirefighterSubject());
        DcDatd dcDatd = new DcDatd();
        ArrayList<DcDatc> dcDatcs = new ArrayList<>();
        DcDatc dcDatc = new DcDatc();
        ArrayList<DcDatb> dcDatbs = new ArrayList<>();
// 处理 firefighterFires
        ArrayList<FirefighterFire> firefighterFires1 = new ArrayList<>();
        ArrayList<FirefighterFire> firefighterFires2 = new ArrayList<>();
        for (FirefighterFire fire : firefighterFires) {
            if ("1".equals(fire.getRemark())) {
                firefighterFires1.add(fire);
            } else {
                firefighterFires2.add(fire);
            }
        }
        ArrayList<Dcdate> firefighterFires11 = new ArrayList<>();
        for (FirefighterFire info1 : firefighterFires1) {
            Dcdate dcdate = new Dcdate();
            dcdate.setId(info1.getId());
            dcdate.setLabel(info1.getProgramName());
            firefighterFires11.add(dcdate);
        }
        ArrayList<Dcdate> dcdates = new ArrayList<>();
        for (FirefighterFire info1 : firefighterFires2) {
            Dcdate dcdate = new Dcdate();
            dcdate.setId(info1.getId());
            dcdate.setLabel(info1.getProgramName());
            dcdates.add(dcdate);
        }

// 创建 DcData 对象并设置属性
        DcData dcDataForSingleSoldier = createDcData(1L, "单兵科目", firefighterFires11);
        DcData dcDataForClass = createDcData(2L, "班级科目", dcdates);
// 将 DcData 对象添加到列表中
        ArrayList<DcData> dcDataListForFires = new ArrayList<>();
        dcDataListForFires.add(dcDataForSingleSoldier);
        dcDataListForFires.add(dcDataForClass);
// 设置 DcDatb 对象
        DcDatb dcDatbForFire = new DcDatb();
        dcDatbForFire.setChildren(dcDataListForFires);
        dcDatbForFire.setId(2L);
        dcDatbForFire.setLabel("灭火救援岗位技能科目训练登记表");
// 处理 firefighterSubjects
        ArrayList<FirefighterSubject> firefighterSubjects1 = new ArrayList<>();
        ArrayList<FirefighterSubject> firefighterSubjects2 = new ArrayList<>();
        for (FirefighterSubject subject : firefighterSubjects) {
            if ("1".equals(subject.getRemark())) {
                firefighterSubjects1.add(subject);
            } else {
                firefighterSubjects2.add(subject);
            }
        }
        ArrayList<Dcdate> f1 = new ArrayList<>();
        for (FirefighterSubject info2 : firefighterSubjects1) {
            Dcdate dcdate = new Dcdate();
            dcdate.setId(info2.getId());
            dcdate.setLabel(info2.getProgramName());
            f1.add(dcdate);
        }
        ArrayList<Dcdate> f2 = new ArrayList<>();
        for (FirefighterSubject info2 : firefighterSubjects2) {
            Dcdate dcdate = new Dcdate();
            dcdate.setId(info2.getId());
            dcdate.setLabel(info2.getProgramName());
            f2.add(dcdate);
        }

// 创建另一个 DcData 对象并设置属性
        DcData dcDataForBasicTraining = createDcData(1L, "基础训练", f1);
        DcData dcDataForApplicationFitness = createDcData(2L, "应用体能", f2);
// 将另一个 DcData 对象添加到列表中
        ArrayList<DcData> dcDataListForSubjects = new ArrayList<>();
        dcDataListForSubjects.add(dcDataForBasicTraining);
        dcDataListForSubjects.add(dcDataForApplicationFitness);
                ArrayList<Dcdate> firefighterInfos11 = new ArrayList<>();
        for (FirefighterInfo info : firefighterInfos) {
            Dcdate dcdate = new Dcdate();
            dcdate.setId(info.getId());
            dcdate.setLabel(info.getName());
            firefighterInfos11.add(dcdate);
        }
// 设置另一个 DcDatb 对象
        DcDatb dcDatbForSubject = new DcDatb();
        dcDatbForSubject.setChildren(dcDataListForSubjects);
        dcDatbForSubject.setId(1L);
        dcDatbForSubject.setLabel("体能科目训练登记表");
// 将 DcDatb 对象添加到列表中
        dcDatbs.add(dcDatbForFire);
        dcDatbs.add(dcDatbForSubject);
// 设置 DcDatc 对象
        dcDatc.setChildren(dcDatbs);
        dcDatc.setId(2L);
        dcDatc.setLabel("训练导出");
        DcDatc dcDatc1 = new DcDatc();
        dcDatc1.setId(1L);
        dcDatc1.setLabel("档案导出");
        dcDatc1.setChildren(firefighterInfos11);
        dcDatcs.add(dcDatc1);
        dcDatcs.add(dcDatc);
        dcDatd.setYiD(dcDatcs);
        return success(dcDatd);
    }
    // 辅助方法，用于创建并设置 DcData 对象的属性
    private DcData createDcData(Long id, String nameA, List<?> list) {
        DcData dcData = new DcData();
        dcData.setId(id);
        dcData.setLabel(nameA);

        dcData.setChildren(list);
        return dcData;
    }
    /**  消防员信息 下拉框
     *  所属单位 籍贯 职务  身体状况 消防支援街
     * @param
     * @2024-11-5
     */
    @GetMapping("/mapList")
    public AjaxResult mapList()
    {
        HashMap<String, Object> map = new HashMap<>();
        List<UnitInfo> unitInfos = unitInfoService.selectUnitInfoList(new UnitInfo());
        List<JobInfo> jobInfos = jobInfoService.selectJobInfoList(new JobInfo());
        List<HealthStatus> healthStatuses = healthStatusService.selectHealthStatusList(new HealthStatus());
        List<IfmFireRescueRank> ifmFireRescueRanks = iIfmFireRescueRankService.selectIfmFireRescueRankList(new IfmFireRescueRank());
        List<Hometown> hometowns = morescreeningdateService.selectHometownList();
        EducationInfo educationInfo = new EducationInfo();
        List<EducationInfo>   ifmEnlistIands= educationInfoService.selectEducationInfoList(educationInfo);
        PoliticalInfo politicalInfo = new PoliticalInfo();
        List<PoliticalInfo>   ifmEnlistIands1= iPoliticalInfoService.selectPoliticalInfoList(politicalInfo);
        List<IfmPost>   ifmPost= iIfmPostService.selectIfmPostList(new IfmPost());
        List<Punishment>   punishments= morescreeningdateService.selectPunishmentList();
        map.put("education",ifmEnlistIands);
        map.put("politicalStatus",ifmEnlistIands1);
        map.put("punishment",punishments);
        map.put("unit",unitInfos);
        map.put("jobTitle",jobInfos);
        map.put("healthStatus",healthStatuses);
        map.put("rescueRank",ifmFireRescueRanks);
        map.put("birthplace",hometowns);
        map.put("position",ifmPost);
        return success(map);
    }
    /**
     * 更多筛选 搜索按钮
     * @param
     * @2024-11-6
     */
    @PostMapping("/search")
    public AjaxResult search(@RequestBody MoreFilterB moreFilterB)
    {
        if (moreFilterB.getDeptId()!=null){
            Long deptId = moreFilterB.getDeptId();
            List<SysDept> sysDepts= sysDeptService.selectDeptListbyAncestors(deptId);
            HashSet<Integer> result = new HashSet<>();
            for (SysDept sysDept : sysDepts) {
                result.add(sysDept.getDeptId().intValue());
                String ancestors = sysDept.getAncestors();
                String[] parts = ancestors.split(",");
                boolean startFound = false;
                for (String part : parts) {
                    if (startFound) {
                        result.add(Integer.parseInt(part));
                    } else if (part.equals(deptId.toString())) {
                        startFound = true;
                    }
                }
            }
            Integer deptIdInt = deptId != null ? deptId.intValue() : 0;
            result.add(deptIdInt);
            ArrayList<Integer> a1 = new ArrayList<>();
            for (Integer integer : result) {
                a1.add(integer);
            }
         List<SysDept> sysDeptslist=  sysDeptService.selectListbyb(a1);

            MoreFilterB moreFilterB1 = new MoreFilterB();
            moreFilterB1.setLoginDeptId(moreFilterB.getLoginDeptId());
            List<MoreFilterA> list=   morescreeningdateService.selectFirefightersWithConditions(moreFilterB1);
            ArrayList<MoreFilterA> moreFilterAS = new ArrayList<>();
            for (SysDept dept : sysDeptslist) {
                for (MoreFilterA filterA : list) {
                    if (dept.getDeptName().equals(filterA.getUnit())) {
                        moreFilterAS.add(filterA);
                    }
                }
            }
            Map<String, List<FirefighterQualification>> cache = new HashMap<>();
            for (MoreFilterA a : moreFilterAS) {
                ArrayList<Integer> integers = new ArrayList<>();
                SysDept sysDept=  iSysDeptService.selectSubDepartmentsByDeptName(a.getUnit());
                if(sysDept!=null){
                    String[] split = sysDept.getAncestors().split(",");
                    for (String s : split) {
                        if(Integer.parseInt(s)!=0){
                            integers.add(Integer.parseInt(s));
                        }
                    }
                    if (integers.size()!= 0) {
                        List<SysDept> sysDepts1 = iSysDeptService.selectListbyb(integers);
                        StringBuilder stringBuilder = new StringBuilder();
                        for (SysDept dept : sysDepts1) {
                            stringBuilder.append(dept.getDeptName() + "-");
                        }

                        String[] split1 = stringBuilder.toString().split("-");
                        StringBuilder stringBuilder1 = new StringBuilder();
                        for (int i = 0; i < split1.length; i++) {
                            if (i==split1.length-1){
                                stringBuilder1.append(split1[i]).append("-");
                            }
                        }
                        stringBuilder1.append(a.getUnit());
                        a.setUnit(stringBuilder1.toString());
                    }
                }
                String userId = a.getUserId();
                // 尝试从缓存中获取数据
                List<FirefighterQualification> firefighterQualifications = cache.get(userId);
                if (firefighterQualifications == null) {
                    // 如果缓存中没有，则从数据库查询并添加到缓存
                    firefighterQualifications = firefighterQualificationService.selectFirefighterQualificationListByUserid(userId);
                    cache.put(userId, firefighterQualifications);
                }

                // 使用Java 8的Stream API处理列表
                String certificateName = firefighterQualifications.stream()
                        .map(qualification -> {
                            // 确保qualification和qualification1不为null
                            qualification.setQualification(qualification.getQualification() == null ? "" : qualification.getQualification());
                            qualification.setQualification1(qualification.getQualification1() == null ? "" : qualification.getQualification1());
                            return qualification.getQualification() + " " + qualification.getQualification1();
                        })
                        .collect(Collectors.joining(" ")); // 使用逗号或其他分隔符连接字符串

                a.setCertificateName(certificateName);
            }
            return success(moreFilterAS);
    }
        if (moreFilterB != null) {
            // moreFilterB 不为 null
            if (moreFilterB.getAgeString()!=null){
                String[] split = moreFilterB.getAgeString().split("-");
                moreFilterB.setAges(Integer.parseInt(split[0]));
                moreFilterB.setAgeBss(Integer.parseInt(split[1]));
            }
            if (moreFilterB.getWorkExperience()!=null){
                String[] split = moreFilterB.getWorkExperience().split("-");
                moreFilterB.setJobs(Integer.parseInt(split[0]));
                moreFilterB.setJobBss(Integer.parseInt(split[1]));
            }
            if (moreFilterB.getBirthDateString()!=null){
                String[] split = moreFilterB.getBirthDateString().split("年");
                moreFilterB.setBirthYear(Integer.parseInt(split[0]));
                String[] yue = split[1].split("月");
                moreFilterB.setBirthMonth(Integer.parseInt(yue[0]));
            }
            List<MoreFilterA> list=   morescreeningdateService.selectFirefightersWithConditions(moreFilterB);
            Map<String, List<FirefighterQualification>> cache = new HashMap<>();
            for (MoreFilterA a : list) {
                ArrayList<Integer> integers = new ArrayList<>();
                SysDept sysDept=  iSysDeptService.selectSubDepartmentsByDeptName(a.getUnit());
                if(sysDept!=null){
                    String[] split = sysDept.getAncestors().split(",");
                    for (String s : split) {
                        if(Integer.parseInt(s)!=0){
                            integers.add(Integer.parseInt(s));
                        }
                    }
                    if (integers.size()!= 0) {
                        List<SysDept> sysDepts = iSysDeptService.selectListbyb(integers);
                        StringBuilder stringBuilder = new StringBuilder();
                        for (SysDept dept : sysDepts) {
                            stringBuilder.append(dept.getDeptName() + "-");
                        }

                        String[] split1 = stringBuilder.toString().split("-");
                        StringBuilder stringBuilder1 = new StringBuilder();
                        for (int i = 0; i < split1.length; i++) {
                            if (i==split1.length-1){
                                stringBuilder1.append(split1[i]).append("-");
                            }
                        }
                        stringBuilder1.append(a.getUnit());
                        a.setUnit(stringBuilder1.toString());
                    }
                }

                String userId = a.getUserId();
                // 尝试从缓存中获取数据
                List<FirefighterQualification> firefighterQualifications = cache.get(userId);
                if (firefighterQualifications == null) {
                    // 如果缓存中没有，则从数据库查询并添加到缓存
                    firefighterQualifications = firefighterQualificationService.selectFirefighterQualificationListByUserid(userId);
                    cache.put(userId, firefighterQualifications);
                }

                // 使用Java 8的Stream API处理列表
                String certificateName = firefighterQualifications.stream()
                        .map(qualification -> {
                            // 确保qualification和qualification1不为null
                            qualification.setQualification(qualification.getQualification() == null ? "" : qualification.getQualification());
                            qualification.setQualification1(qualification.getQualification1() == null ? "" : qualification.getQualification1());
                            return qualification.getQualification() + " " + qualification.getQualification1();
                        })
                        .collect(Collectors.joining(" ")); // 使用逗号或其他分隔符连接字符串

                a.setCertificateName(certificateName);
            }
            return success(list);
        }
        return error("不要传递空或者null",null);
    }
    /**
     * 更多筛选 执行重大应急救援任务与时间
     * @param
     * @2024-11-5
     */
    @PostMapping("/jytime")
    public AjaxResult jyTime(@RequestBody FirefighterEmergency firefighterEmergency)
    {
        String emergency = firefighterEmergency.getEmergency();
        if (emergency != null && !emergency.isEmpty()){
            List<FirefighterEmergency> firefighterEmergencies = firefighterEmergencyService.selectFirefighterEmergencyByName(emergency);
            return success(firefighterEmergencies);
        }

        return error("不要传递空或者null",null);
    }
    /**
     * 更多筛选 执行重大安保任务与时间
     * @param
     * @2024-11-5
     */
    @PostMapping("/abtime")
    public AjaxResult jyTime(@RequestBody FirefighterSecurity firefighterEmergency1)
    {
        String emergency = firefighterEmergency1.getSecurity();
        if (emergency != null && !emergency.isEmpty()){
            List<FirefighterSecurity>   firefighterEmergency=  iFirefighterSecurityService.selectFirefighterSecurityByName(emergency);
            return success(firefighterEmergency);
        }

        return error("不要传递空或者null",null);
    }
    /**
     * 更多筛选 人员类别筛选
     * @param personneCategory
     * @2024-11-5
     */
    @PostMapping("/list")
    public AjaxResult list(@RequestBody PersonneCategory personneCategory)
    {
        Integer id = personneCategory.getId();
        if (id==null){
            return error("暂无人员类别id");
        }
        //3id为4表联查 其他id为3表
       if (personneCategory.getId()==3){
           FanHuiVo fanHuiVo = new FanHuiVo();
           List<FanHui> fanHui = morescreeningdateService.selectAll(personneCategory.getId());
          //对返回数据去重
           Set<String> a = new HashSet<>();
           Set<String> b = new HashSet<>();
           Set<String> c = new HashSet<>();
           //for循环取出数据封装
           for (FanHui hui : fanHui) {
               fanHuiVo.setPersonnelCategory(hui.getPersonnelCategory());
               fanHuiVo.setRescueRank(a);
               a.add(hui.getRescueRank());
               b.add(hui.getTechnicalLevel());
               c.add(hui.getTechnicalPosition());
           }

           fanHuiVo.setTechnicalLevel(b);
           fanHuiVo.setTechnicalPosition(c);
           return success(fanHuiVo);
       }
        FanHuiVo fanHuiVo = new FanHuiVo();
        List<FanHui> fanHui = morescreeningdateService.selectAllb(personneCategory.getId());
        Set<String> a = new HashSet<>();
        Set<String> c = new HashSet<>();
        for (FanHui hui : fanHui) {
            fanHuiVo.setPersonnelCategory(hui.getPersonnelCategory());
            a.add(hui.getRescueRank());
            c.add(hui.getTechnicalPosition());
        }
        fanHuiVo.setRescueRank(a);
        fanHuiVo.setTechnicalPosition(c);
        return success(fanHuiVo);
    }
    /**
     * 更多筛选 工作岗位表
     * @param
     * @2024-11-5
     */
    @GetMapping("/ifmPost")
    public AjaxResult gwtime()
    {
        IfmPost ifmPost = new IfmPost();
        List<IfmPost>   ifmEnlistIands= iIfmPostService.selectIfmPostList(ifmPost);
        return success(ifmEnlistIands);
    }
    /**
     * 更多筛选 入伍地
     * @param
     * @2024-11-5
     */
    @GetMapping("/ifmEnlistIand")
    public AjaxResult rwtime()
    {
        IfmEnlistIand ifmEnlistIand = new IfmEnlistIand();
        List<IfmEnlistIand>   ifmEnlistIands= iIfmEnlistIandService.selectIfmEnlistIandList(ifmEnlistIand);
        return success(ifmEnlistIands);
    }
    /**
     * 更多筛选 奖励
     * @param
     * @2024-11-5
     */
    @GetMapping("/ifmReward")
    public AjaxResult jltime()
    {
        IfmReward ifmReward = new IfmReward();
        List<IfmReward>   ifmEnlistIands= iIfmRewardService.selectIfmRewardList(ifmReward);
        return success(ifmEnlistIands);
    }
    /**
     * 更多筛选 学历
     * @param
     * @2024-11-5
     */
    @GetMapping("/educationInfo")
    public AjaxResult xltime()
    {
        EducationInfo educationInfo = new EducationInfo();
        List<EducationInfo>   ifmEnlistIands= educationInfoService.selectEducationInfoList(educationInfo);
        return success(ifmEnlistIands);
    }
    /**
     * 更多筛选 政治面貌
     * @param
     * @2024-11-5
     */
    @GetMapping("/politicalInfo")
    public AjaxResult zztime()
    {
        PoliticalInfo politicalInfo = new PoliticalInfo();
        List<PoliticalInfo>   ifmEnlistIands= iPoliticalInfoService.selectPoliticalInfoList(politicalInfo);
        return success(ifmEnlistIands);
    }
    /**
     * 更多筛选 惩罚
     * @param
     * @2024-11-5
     */
    @GetMapping("/punishment")
    public AjaxResult cftime()
    {
        List<Punishment>   ifmEnlistIands= morescreeningdateService.selectPunishmentList();
        return success(ifmEnlistIands);
    }
    /**
     * 更多筛选 年龄范围
     * @param
     * @2024-11-5
     */
    @GetMapping("/age")
    public AjaxResult ageTime()
    {
        List<IfmAge> ifmAges = iIfmAgeService.selectIfmAgeList(new IfmAge());
        return success(ifmAges);
    }
    /**
     * 更多筛选 工作年限
     * @param
     * @2024-11-5
     */
    @GetMapping("/workYear")
    public AjaxResult workYear()
    {
        List<IfmWorkYear> ifmWorkYears = iIfmWorkYearService.selectIfmWorkYearList(new IfmWorkYear());
        return success(ifmWorkYears);
    }

}
